import java.io.*;
import java.security.*;
import javax.crypto.*;
import javax.crypto.spec.*;

public class Key_RSA{
    public static void main(String args[]) throws Exception{
        //创建密钥对生成器，指定加密和解密算法为RSA
        KeyPairGenerator kpg=KeyPairGenerator.getInstance("RSA");
        //指定密钥的长度，初始化密钥对生成器
        kpg.initialize(1024);
        //生成密钥对
        KeyPair kp=kpg.genKeyPair();

        //获取公钥
        PublicKey pbkey=kp.getPublic();
        //获取私钥
        PrivateKey prkey=kp.getPrivate();

        //保存公钥到文件
        FileOutputStream  f1=new FileOutputStream("Skey_RSA_pub.dat");
        ObjectOutputStream b1=new  ObjectOutputStream(f1);
        b1.writeObject(pbkey);

        //保存私钥到文件
        FileOutputStream  f2=new FileOutputStream("Skey_RSA_priv.dat");
        ObjectOutputStream b2=new  ObjectOutputStream(f2);
        b2.writeObject(prkey);
    }
}